/**
 * @file GPS日志数据接口
 * @description 定义处理后的GPS日志数据的结构，用于存储和传输
 * @author Assistant
 * @date 2024-02-05
 */

export interface GpsLogData {
  /**
   * 设备的唯一标识符
   */
  deviceId: string; // 设备ID

  /**
   * 日志记录的时间戳，使用Date对象类型以确保正确排序
   */
  timestamp: Date; // 时间戳

  /**
   * GPS位置的经纬度
   */
  position: {
    /**
     * GPS经度
     */
    lng: number; // 经度

    /**
     * GPS纬度
     */
    lat: number; // 纬度
  };

  /**
   * 原始位置的经纬度，可选字段
   */
  original?: {
    /**
     * 原始经度
     */
    lng: number; // 原始经度

    /**
     * 原始纬度
     */
    lat: number; // 原始纬度
  };

  /**
   * 设备的速度，单位为 km/h
   */
  speed: number; // 速度

  /**
   * 设备的电池电压，单位为伏特，可选字段
   */
  battery?: number; // 电池电压

  /**
   * 信号强度，通常以dBm为单位，可选字段
   */
  signal?: number; // 信号强度

  /**
   * 是否定位成功
   */
  isFix: boolean; // 是否定位成功

  /**
   * 位置来源，可能的值为 'gps' 或 'lbs'
   */
  positionSource?: 'gps' | 'lbs' | null; // 位置来源

  /**
   * 位置是否有效
   */
  positionValid: boolean; // 位置是否有效
} 